// 上传服务配置
export const uploadConfig = {
    // 批量上传服务地址
    uploadMultipleUrl: 'http://localhost:5228/api/Image/upload-multiple',

    // 删除指定图片服务地址
    deleteSpecificPictureUrl: 'http://localhost:5228/api/Image/delete-specific-picture',

    // 七牛云上传服务地址
    qiniuUploadUrl: 'https://localhost:7273/api/Image/UploadToQiniuOss/uploadToQiniu',

    // 数据库保存服务地址
    pictureCreateUrl: 'https://localhost:7273/api/Image/PictureCreate',

    // 图片显示服务地址 - 更新为正确的地址
    pictureShowUrl: 'https://localhost:7120/api/Image/PictureShow',

    // 图片删除服务地址
    pictureDeleteUrl: 'https://localhost:7273/api/Image/PictureDelete',

    // 文件大小限制（MB）
    maxFileSize: 5,

    // 支持的图片格式
    allowedImageTypes: ['image/jpeg', 'image/jpg', 'image/png', 'image/gif', 'image/webp'],

    // 上传超时时间（毫秒）
    timeout: 30000
};

// 文件验证函数
export const validateImageFile = (file: File): { valid: boolean; message?: string } => {
    console.log('=== 文件验证开始 ===');
    console.log('文件信息:', {
        name: file.name,
        type: file.type,
        size: file.size,
        lastModified: file.lastModified
    });

    // 更严格的文件类型检查 - 后端可能只接受特定格式
    const fileName = file.name.toLowerCase();
    const fileExtension = fileName.split('.').pop();
    const validExtensions = ['jpg', 'jpeg', 'png']; // 只接受最常见的图片格式
    const isImageByExtension = fileExtension && validExtensions.includes(fileExtension);
    const isImageByMime = file.type.startsWith('image/');

    console.log('文件类型检查:', {
        fileType: file.type,
        fileExtension: fileExtension,
        isImageByMime: isImageByMime,
        isImageByExtension: isImageByExtension,
        validExtensions: validExtensions
    });

    // 严格检查：必须是image/类型且扩展名在允许列表中
    if (!isImageByMime) {
        console.error('MIME类型不支持:', file.type);
        return {
            valid: false,
            message: `只能上传图片文件！当前文件类型：${file.type}`
        };
    }

    if (!isImageByExtension) {
        console.error('文件扩展名不支持:', fileExtension);
        return {
            valid: false,
            message: `只能上传JPG、JPEG、PNG格式的图片！当前文件扩展名：${fileExtension}`
        };
    }

    // 检查文件大小
    const fileSizeMB = file.size / 1024 / 1024;
    const isLtMaxSize = fileSizeMB < uploadConfig.maxFileSize;
    console.log('文件大小检查:', {
        fileSizeMB: fileSizeMB.toFixed(2),
        maxSize: uploadConfig.maxFileSize,
        isLtMaxSize: isLtMaxSize
    });

    if (!isLtMaxSize) {
        console.error('文件大小超限:', fileSizeMB, 'MB');
        return {
            valid: false,
            message: `图片大小不能超过 ${uploadConfig.maxFileSize}MB！`
        };
    }

    // 检查文件名
    if (!file.name || file.name.trim() === '') {
        console.error('文件名无效');
        return {
            valid: false,
            message: '文件名不能为空'
        };
    }

    console.log('✅ 文件验证通过');
    return { valid: true };
};
